#include "Coro.h"
char tt[100]={0};
int tindex = 0;
void co1(char* msg)
{
	for (int i = 0; i != 5; ++i)
	{
		tt[tindex++] = msg[i];
		coro_yield();
	}
}
int co2testCnt=0;
void co2(char* msg)
{
    while(1)
    {
    	co2testCnt++;
        coro_sleepms(10);
//        coro_yield();
    }
    
	
}
struct Sem_t sem={0};
int co3msg =0;
int co4msg[10];
int co4msgIndex=0;
int co4testCnt=0;
void co3(char* msg)
{
    while(1)
    {
    	co3msg++;
    	coro_post(&sem);
    	coro_sleepms(100);
    }


}
void co4(char* msg)
{
    while(1)
    {
    	coro_wait(&sem);
    	co4testCnt++;
    	co4msg[co4msgIndex++]=co3msg;
    	if(co4msgIndex>=10)
    	{
    		co4msgIndex=0;
    	}

    }


}
void coro_test()
{
    coro_new(co1, "hello",256);
	coro_new(co2, "world",256);
	coro_new(co3, "1",256);
	coro_new(co4, "2",256);
    coro_main();
}
  
